Actor "MaceOfContrition" : CWeapMace replaces CWeapMace
{
	Tag "Mace Of Contrition"
	Weapon.KickBack 100
	Weapon.YAdjust 0
	Weapon.SelectionOrder 6
	+UNDROPPABLE
	+NOALERT
	+MELEEWEAPON
	Weapon.BobStyle InverseSmooth
    Weapon.BobSpeed 2.1
    Weapon.BobRangeY 0.4
    Weapon.BobRangeX 0.7
	States
	{
	Deselect:
		CMCE A 1 A_Lower
		TNT1 A 0 A_Lower
		Loop
	Select:
		CMCE A 1 A_Raise
		TNT1 A 0 A_Raise
		Loop
	Fire:
		TNT1 A 0 A_JumpIfInventory("PowerSacrificeIcon",1,"FireS")
		TNT1 A 3 a_jump(128,"Swing2","Swing3")
		CMCE B 1 offset(8,45) A_PlayWeaponSound("ClericMaceMiss")
		CMCE C 1 offset(8,45)
		CMCE D 1 offset(8,45)
		CMCE E 1 offset(8,45) A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(20,45), STRENGTH, ABIL_BLUNTMASTERY, ACTIVATOR),"MacePuff",FBF_NORANDOM,128)
		CMCE F 1 offset(8,45)
		CMCE F 1 offset(-8,74)
		CMCE F 1 offset(-20,96)
		CMCE F 3 offset(-33,160)
		TNT1 a 3 a_weaponready(wrf_nobob|wrf_noprimary|wrf_noswitch)
		TNT1 a 0 a_refire
		CMCE a 1 offset(50,120)
		CMCE a 1 offset(40,100)
		CMCE a 1 offset(20,70)
		CMCE a 1 offset(8,50)
		goto ready
	Swing2:
		CMC2 b 1 offset(100,70)
		CMC2 b 1 offset(80,65)
		CMC2 b 1 offset(60,60)
		CMC2 b 1 offset(40,50) A_PlayWeaponSound("ClericMaceMiss")
		CMC2 c 1 offset(40,50)
		CMC2 c 1 offset(20,50)
		CMC2 e 1 offset(50,50) A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(20,45), STRENGTH, ABIL_BLUNTMASTERY, ACTIVATOR),"MacePuff",FBF_NORANDOM,128)
		CMC2 e 1 offset(30,55)
		CMC2 e 1 offset(-20,60)
		CMC2 e 1 offset(-80,70)
		TNT1 a 6 a_weaponready(wrf_nobob|wrf_noprimary|wrf_noswitch)
		TNT1 a 0 a_refire
		CMCE a 1 offset(50,120)
		CMCE a 1 offset(40,100)
		CMCE a 1 offset(20,70)
		CMCE a 1 offset(8,50)
		goto ready
	Swing3:
		TNT1 A 1
		CMC3 d 1 offset(-80,40)
		CMC3 d 1 offset(-40,40)
		CMC3 d 1 offset(-10,40) A_PlayWeaponSound("ClericMaceMiss")
		CMC3 e 1 offset(-20,40)
		CMC3 e 1 offset(10,40)
		CMC3 e 1 offset(30,40) A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(20,45), STRENGTH, ABIL_BLUNTMASTERY, ACTIVATOR),"MacePuff",FBF_NORANDOM,128)
		CMC3 f 1 offset(-40,40)
		CMC3 f 1 offset(10,40)
		CMC3 f 1 offset(30,45)
		CMC3 f 1 offset(50,50)
		TNT1 a 5 a_weaponready(wrf_nobob|wrf_noprimary|wrf_noswitch)
		TNT1 a 0 a_refire
		CMCE a 1 offset(50,120)
		CMCE a 1 offset(40,100)
		CMCE a 1 offset(20,70)
		CMCE a 1 offset(8,50)
		goto ready
	AltFire:
		TNT1 A 0 A_JumpIfInventory("PowerSacrificeIcon",1,"AltFireS")
		TNT1 a 2
		CSHL a 0 A_JumpIfInventory("PowerInvulnerable",1,2)
		CSHL a 0 a_setreflectiveinvulnerable
		CSHL a 1 offset(120,90) a_changeflag("shieldreflect",1)
		CSHL a 1 offset(60,60)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,20), STRENGTH, ABIL_BLUNTMASTERY, ACTIVATOR),"ShieldPuff",FBF_NORANDOM,96)
		CSHL a 1 offset(-1,40)
		CSHL a 1 offset(-60,45)
		CSHL a 1 offset(-120,50)
		CSHL a 0 a_changeflag("shieldreflect",0)
		CSHL a 0 A_JumpIfInventory("PowerInvulnerable",1,2)
		CSHL a 0 a_unsetreflectiveinvulnerable
		CSHL a 1 offset(-160,60)
		TNT1 a 9 a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		TNT1 a 0 a_refire
		CMCE a 1 offset(50,120)
		CMCE a 1 offset(40,100)
		CMCE a 1 offset(20,70)
		CMCE a 1 offset(8,50)
		goto ready
	FireS:
		TNT1 A 3 a_jump(128,"Swing2S","Swing3S")
		CMCE B 1 offset(8,45) A_PlayWeaponSound("ClericMaceMiss")
		CMCE C 1 offset(8,45)
		CMCE D 1 offset(8,45)
		TNT1 A 0 A_FireBullets(0,0,1,0,"SacrificePuff",FBF_NORANDOM,128)
		CMCE E 1 offset(8,45) A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(20,45), STRENGTH, ABIL_BLUNTMASTERY, ACTIVATOR),"MacePuff",FBF_NORANDOM,128)
		CMCE F 1 offset(8,45)
		CMCE F 1 offset(-8,74)
		CMCE F 1 offset(-20,96)
		CMCE F 3 offset(-33,160)
		TNT1 a 3 a_weaponready(wrf_nobob|wrf_noprimary|wrf_noswitch)
		TNT1 a 0 a_refire
		CMCE a 1 offset(50,120)
		CMCE a 1 offset(40,100)
		CMCE a 1 offset(20,70)
		CMCE a 1 offset(8,50)
		goto ready
	Swing2S:
		CMC2 b 1 offset(100,70)
		CMC2 b 1 offset(80,65)
		CMC2 b 1 offset(60,60)
		CMC2 b 1 offset(40,50) A_PlayWeaponSound("ClericMaceMiss")
		CMC2 c 1 offset(40,50)
		CMC2 c 1 offset(20,50)
		TNT1 A 0 A_FireBullets(0,0,1,0,"SacrificePuff",FBF_NORANDOM,128)
		CMC2 e 1 offset(50,50) A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(20,45), STRENGTH, ABIL_BLUNTMASTERY, ACTIVATOR),"MacePuff",FBF_NORANDOM,128)
		CMC2 e 1 offset(30,55)
		CMC2 e 1 offset(-20,60)
		CMC2 e 1 offset(-80,70)
		TNT1 a 6 a_weaponready(wrf_nobob|wrf_noprimary|wrf_noswitch)
		TNT1 a 0 a_refire
		CMCE a 1 offset(50,120)
		CMCE a 1 offset(40,100)
		CMCE a 1 offset(20,70)
		CMCE a 1 offset(8,50)
		goto ready
	Swing3S:
		TNT1 A 1
		CMC3 d 1 offset(-80,40)
		CMC3 d 1 offset(-40,40)
		CMC3 d 1 offset(-10,40) A_PlayWeaponSound("ClericMaceMiss")
		CMC3 e 1 offset(-20,40)
		CMC3 e 1 offset(10,40)
		TNT1 A 0 A_FireBullets(0,0,1,0,"SacrificePuff",FBF_NORANDOM,128)
		CMC3 e 1 offset(30,40) A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(20,45), STRENGTH, ABIL_BLUNTMASTERY, ACTIVATOR),"MacePuff",FBF_NORANDOM,128)
		CMC3 f 1 offset(-40,40)
		CMC3 f 1 offset(10,40)
		CMC3 f 1 offset(30,45)
		CMC3 f 1 offset(50,50)
		TNT1 a 5 a_weaponready(wrf_nobob|wrf_noprimary|wrf_noswitch)
		TNT1 a 0 a_refire
		CMCE a 1 offset(50,120)
		CMCE a 1 offset(40,100)
		CMCE a 1 offset(20,70)
		CMCE a 1 offset(8,50)
		goto ready
	AltFireS:
		TNT1 a 2
		CSHL a 0 A_JumpIfInventory("PowerInvulnerable",1,2)
		CSHL a 0 a_setreflectiveinvulnerable
		CSHL a 1 offset(120,90) a_changeflag("shieldreflect",1)
		CSHL a 1 offset(60,60)
		TNT1 A 0 A_FireBullets(0,0,1,0,"SacrificePuff",FBF_NORANDOM,96)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(10,20), STRENGTH, ABIL_BLUNTMASTERY, ACTIVATOR),"ShieldPuff",FBF_NORANDOM,96)
		CSHL a 1 offset(-1,40)
		CSHL a 1 offset(-60,45)
		CSHL a 1 offset(-120,50)
		CSHL a 0 a_changeflag("shieldreflect",0)
		CSHL a 0 A_JumpIfInventory("PowerInvulnerable",1,2)
		CSHL a 0 a_unsetreflectiveinvulnerable
		CSHL a 1 offset(-160,60)
		TNT1 a 9 a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		TNT1 a 0 a_refire
		CMCE a 1 offset(50,120)
		CMCE a 1 offset(40,100)
		CMCE a 1 offset(20,70)
		CMCE a 1 offset(8,50)
		goto ready
	}
}

Actor MacePuff : HammerPuff
{
	+PUFFGETSOWNER
	+THRUGHOST
	+MTHRUSPECIES
	Damagetype "Physical"
	SeeSound "ClericMaceHitThing"
	AttackSound "ClericMaceHitWall"
    ActiveSound ""
	States
	{
	Spawn:
	Melee:
		FHFX S 0
		FHFX S 1 A_AlertMonsters(128)
		FHFX S 1 A_GiveToTarget("ScreenPitch2")
		FHFX SS 1 A_GiveToTarget("ScreenPitch1Back")
		FHFX TUVW 4
		Stop
	Crash:
		FHFX S 1
		FHFX S 1 A_GiveToTarget("ScreenPitch2")
		FHFX SS 1 A_GiveToTarget("ScreenPitch1Back")
		FHFX TUVW 4
		Stop
	}
}

Actor ShieldPuff : PunchPuff
{
	+PUFFGETSOWNER
	+FORCEPAIN
	+THRUGHOST
	+MTHRUSPECIES
	SeeSound "ClericShieldHitThing"
	AttackSound "ClericShieldHitWall"
	Damagetype "Physical"
	States
	{
	Spawn:
	Melee:
		FHFX S 1
		FHFX S 0 A_AlertMonsters(96)
		FHFX S 1 A_GiveToTarget("ScreenPitch1")
		FHFX SS 1 A_GiveToTarget("ScreenPitchHalfBack")
		FHFX TUVW 4
		Stop
	Crash:
		FHFX S 1
		FHFX S 0 //A_AlertMonsters(96)
		FHFX S 1 A_GiveToTarget("ScreenPitch1")
		FHFX SS 1 A_GiveToTarget("ScreenPitchHalfBack")
		FHFX TUVW 4
		Stop
	}
}

	